package com.ruoyi.project.im.members.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 群用户对象 group_members
 *
 * @author ruoyi
 * @date 2022-09-20
 */
public class GroupMembers extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 群ID */
    private String groupID;

    /** 用户ID */
    private String userID;

    /** 昵称 */
    @Excel(name = "昵称")
    private String nickname;

    /** 用户头像 */
    private String faceURL;

    /** 角色等级 */
    @Excel(name = "角色等级")
    private Long roleLevel;

    /** 进群时间 */
    private Date joinTime;

    /** 进群方式 */
    private Long joinSource;

    /** 邀请人 */
    private String inviterUserId;

    /** 操作人 */
    private String operatorUserId;

    /** 禁言时间 */
    private Date muteEndTime;

    /** 扩展 */
    private String ex;

    public String getGroupID() {
        return groupID;
    }

    public void setGroupID(String groupID) {
        this.groupID = groupID;
    }

    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String getFaceURL() {
        return faceURL;
    }

    public void setFaceURL(String faceURL) {
        this.faceURL = faceURL;
    }

    public void setNickname(String nickname)
    {
        this.nickname = nickname;
    }

    public String getNickname()
    {
        return nickname;
    }

    public void setRoleLevel(Long roleLevel)
    {
        this.roleLevel = roleLevel;
    }

    public Long getRoleLevel()
    {
        return roleLevel;
    }
    public void setJoinTime(Date joinTime)
    {
        this.joinTime = joinTime;
    }

    public Date getJoinTime()
    {
        return joinTime;
    }
    public void setJoinSource(Long joinSource)
    {
        this.joinSource = joinSource;
    }

    public Long getJoinSource()
    {
        return joinSource;
    }
    public void setInviterUserId(String inviterUserId)
    {
        this.inviterUserId = inviterUserId;
    }

    public String getInviterUserId()
    {
        return inviterUserId;
    }
    public void setOperatorUserId(String operatorUserId)
    {
        this.operatorUserId = operatorUserId;
    }

    public String getOperatorUserId()
    {
        return operatorUserId;
    }
    public void setMuteEndTime(Date muteEndTime)
    {
        this.muteEndTime = muteEndTime;
    }

    public Date getMuteEndTime()
    {
        return muteEndTime;
    }
    public void setEx(String ex)
    {
        this.ex = ex;
    }

    public String getEx()
    {
        return ex;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("nickname", getNickname())
            .append("roleLevel", getRoleLevel())
            .append("joinTime", getJoinTime())
            .append("joinSource", getJoinSource())
            .append("inviterUserId", getInviterUserId())
            .append("operatorUserId", getOperatorUserId())
            .append("muteEndTime", getMuteEndTime())
            .append("ex", getEx())
            .toString();
    }
}
